// 精灵创建器 - 负责创建所有游戏精灵
class SpriteCreator {
    static createPixelSprites(scene) {
        // 玩家精灵 (绿色方块)
        scene.add.graphics()
            .fillStyle(0x00ff00)
            .fillRect(0, 0, 16, 16)
            .generateTexture('player', 16, 16);

        // 不同类型敌人精灵
        scene.add.graphics()
            .fillStyle(0xff0000)
            .fillRect(0, 0, 12, 12)
            .generateTexture('enemy', 12, 12);

        // 快速敌人 (橙色小方块)
        scene.add.graphics()
            .fillStyle(0xff8800)
            .fillRect(0, 0, 8, 8)
            .generateTexture('fast_enemy', 8, 8);

        // 坦克敌人 (深红色大方块)
        scene.add.graphics()
            .fillStyle(0x880000)
            .fillRect(0, 0, 18, 18)
            .generateTexture('tank_enemy', 18, 18);

        // Boss敌人 (紫色巨大方块)
        scene.add.graphics()
            .fillStyle(0x8800ff)
            .fillRect(0, 0, 32, 32)
            .generateTexture('boss_enemy', 32, 32);

        // 敌人子弹
        scene.add.graphics()
            .fillStyle(0xff4444)
            .fillRect(0, 0, 3, 3)
            .generateTexture('enemy_bullet', 3, 3);

        // 不同类型子弹
        scene.add.graphics()
            .fillStyle(0xffff00)
            .fillRect(0, 0, 4, 4)
            .generateTexture('bullet', 4, 4);

        scene.add.graphics()
            .fillStyle(0x00ffff)
            .fillRect(0, 0, 6, 6)
            .generateTexture('shotgun_bullet', 6, 6);

        scene.add.graphics()
            .fillStyle(0xff00ff)
            .fillRect(0, 0, 8, 2)
            .generateTexture('rifle_bullet', 8, 2);

        // 激光武器子弹
        scene.add.graphics()
            .fillStyle(0x00ff88)
            .fillRect(0, 0, 12, 3)
            .generateTexture('laser_bullet', 12, 3);

        // 火箭弹
        scene.add.graphics()
            .fillStyle(0xff4400)
            .fillRect(0, 0, 8, 8)
            .generateTexture('rocket', 8, 8);

        // 电击子弹
        scene.add.graphics()
            .fillStyle(0x88ffff)
            .fillCircle(3, 3, 3)
            .generateTexture('electric_bullet', 6, 6);

        // 升级UI背景
        scene.add.graphics()
            .fillStyle(0x000000, 0.8)
            .fillRect(0, 0, 800, 600)
            .generateTexture('upgrade_bg', 800, 600);

        // 粒子效果纹理
        scene.add.graphics()
            .fillStyle(0xffff00)
            .fillCircle(2, 2, 2)
            .generateTexture('spark', 4, 4);

        scene.add.graphics()
            .fillStyle(0xff0000)
            .fillCircle(3, 3, 3)
            .generateTexture('blood', 6, 6);

        scene.add.graphics()
            .fillStyle(0x00ff00)
            .fillCircle(2, 2, 2)
            .generateTexture('trail', 4, 4);

        // 道具精灵
        scene.add.graphics()
            .fillStyle(0x00ffff)
            .fillCircle(4, 4, 4)
            .generateTexture('exp_gem', 8, 8);

        scene.add.graphics()
            .fillStyle(0xff0080)
            .fillRect(0, 0, 10, 10)
            .generateTexture('health_pack', 10, 10);

        scene.add.graphics()
            .fillStyle(0xffd700)
            .fillRect(0, 0, 12, 8)
            .generateTexture('power_up', 12, 8);

        // 金币精灵 - 圆形金币带有闪光效果
        const coinGraphics = scene.add.graphics();
        
        // 金币主体（圆形）
        coinGraphics.fillStyle(0xffd700);  // 金色
        coinGraphics.fillCircle(6, 6, 6);
        
        // 金币边缘
        coinGraphics.lineStyle(1, 0xffed4a);  // 浅金色边缘
        coinGraphics.strokeCircle(6, 6, 6);
        
        // 金币高光
        coinGraphics.fillStyle(0xfffacd);  // 浅黄色高光
        coinGraphics.fillCircle(4, 4, 2);
        
        // 金币符号
        coinGraphics.lineStyle(1.5, 0xb8860b);  // 深金色符号
        coinGraphics.beginPath();
        coinGraphics.moveTo(6, 3);
        coinGraphics.lineTo(6, 9);
        coinGraphics.moveTo(4, 6);
        coinGraphics.lineTo(8, 6);
        coinGraphics.strokePath();
        
        coinGraphics.generateTexture('gold', 12, 12);
        coinGraphics.destroy();

        // 爆炸效果
        scene.add.graphics()
            .fillStyle(0xff6b35)
            .fillCircle(8, 8, 8)
            .generateTexture('explosion', 16, 16);

        // 血条背景
        scene.add.graphics()
            .fillStyle(0x333333)
            .fillRect(0, 0, 20, 4)
            .generateTexture('healthbar_bg', 20, 4);

        // 血条前景
        scene.add.graphics()
            .fillStyle(0xff0000)
            .fillRect(0, 0, 20, 4)
            .generateTexture('healthbar_fg', 20, 4);

        // 按钮背景
        scene.add.graphics()
            .fillStyle(0x3498db)
            .fillRect(0, 0, 200, 50)
            .lineStyle(2, 0xffffff)
            .strokeRect(0, 0, 200, 50)
            .generateTexture('button_bg', 200, 50);
    }
}